/**
 * LeetCode215：数组中的第K个最大元素
 * 在未排序的数组中找到第K个最大的元素
 */

import MinHeap from './minHeap';

/**
 *
 * @param {number[]} nums
 * @param {number} k
 * @return {number}
 */
var finKthLargest = function (nums, k){
    let h = new MinHeap();
    nums.forEach(n => {
        h.insert(n);
        if (h.size() > k){
            h.pop();
        }
    });
    return h.peek();
};

//时间复杂度：O(n * log k)
//空间复杂度：O(k)